正则表达式之字符串的replace方法 您所在的位置:网站首页 Js 正则 多个文字 正则表达式之字符串的replace方法

正则表达式之字符串的replace方法

2024-07-17 06:56| 来源: 网络整理| 查看: 265

1.首先,正则表达式是什么

正则表达式是用于匹配字符串中字符组合的模式。在 JavaScript中,正则表达式是对象。这些模式被用于 RegExp 的 exec 和 test 方法, 以及 String 的 match、matchAll、replace、search 和 split 方法。

2.字符串的replace()方法

replace() 方法返回一个由替换值(replacement)替换一些或所有匹配的模式(pattern)后的新字符串。模式可以是一个字符串或者一个正则表达式,替换值可以是一个字符串或者一个每次匹配都要调用的回调函数。

原字符串不会改变。

(1)语法 :str.replace(regexp|substr, newSubStr|function)

当模式(pattern)为字符串时。 一个将被 newSubStr 替换的 字符串。其被视为一整个字符串,而不是一个正则表达式。仅第一个匹配项会被替换。 举个例子: const str = 'abcc 1212&'; console.log(str.replace('12', '$')); // abcc $12& newSubStr (replacement) 用于替换掉第一个参数在原字符串中的匹配部分的字符串。该字符串中可以内插一些特殊的变量名(见MDN) const str = 'abcc 1212'; const reg = /([a-c]+)(\s*)(\d+)/g; console.log(str.replace(reg, '$3$2$1')); // 1212 abcc

function (replacement) 一个用来创建新子字符串的函数,该函数的返回值将替换掉第一个参数(这里指的是模式)匹配到的结果。

replace方法的第二个参数为函数时。 可以指定一个函数作为第二个参数。在这种情况下,当匹配执行后,该函数就会执行。 函数的返回值作为替换字符串。 另外要注意的是,如果第一个参数是正则表达式,并且其为全局匹配模式,那么这个方法将被多次调用,每次匹配都会被调用。

该函数的参数,说明如下: 在这里插入图片描述 下面给个例子:

const str = 'abcc 1212'; const reg = /([a-c]+)\s*(\d+)/g; console.log(str.replace(reg, ($0, $1, $2) => { return $2 + $1; })); // $0 = str,即正则表达式reg匹配的子串。 // $1 = abcc,是([a-c]+)匹配的子串。 // $2 = 1212,是(\d+)匹配的子串。

结果为: 在这里插入图片描述



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

      专题文章
        CopyRight 2018-2019 实验室设备网 版权所有